#ifndef GPIO_CONFIG__
#define GPIO_CONFIG__

#define EN_24V_PR_Pin           GPIO_PIN_3
#define EN_24V_PR_GPIO_Port     GPIOC

#define EN_5V_SHOE_Pin          GPIO_PIN_13
#define EN_5V_SHOE_GPIO_Port    GPIOC

// #define EN_V_SERVO_M_Pin         GPIO_PIN_0
// #define EN_V_SERVO_M_GPIO_Port   GPIOB

#define EN_3V_JOINT_ENC_Pin       GPIO_PIN_0
#define EN_3V_JOINT_ENC_GPIO_Port GPIOB

#define EN_3V_PR_ENC_Pin        GPIO_PIN_11
#define EN_3V_PR_ENC_GPIO_Port  GPIOB

#define LED_STA_OK_Pin          GPIO_PIN_1
#define LED_STA_OK_GPIO_Port    GPIOB

#define LED_STA_ERR_Pin         GPIO_PIN_2
#define LED_STA_ERR_GPIO_Port   GPIOB

#define JOG_BACK_Pin            GPIO_PIN_9
#define JOG_BACK_GPIO_Port      GPIOA

#define JOG_FORWARD_Pin         GPIO_PIN_8
#define JOG_FORWARD_GPIO_Port   GPIOA

#define JOG_SHRINK_Pin          GPIO_PIN_10
#define JOG_SHRINK_GPIO_Port    GPIOA

#define JOG_EXTEND_Pin          GPIO_PIN_11
#define JOG_EXTEND_GPIO_Port    GPIOA

#define ID1_Pin         GPIO_PIN_12
#define ID1_GPIO_Port   GPIOC
#define ID2_Pin         GPIO_PIN_11
#define ID2_GPIO_Port   GPIOC
#define ID3_Pin         GPIO_PIN_10
#define ID3_GPIO_Port   GPIOC

#define HOME_INDEX_Pin          GPIO_PIN_3
#define HOME_INDEX_GPIO_Port    GPIOB

#define JOINT_ENC_CS_Pin          GPIO_PIN_10
#define JOINT_ENC_CS_GPIO_Port    GPIOB

#define PR_CS_Pin               GPIO_PIN_12
#define PR_CS_GPIO_Port         GPIOB

#define FRAM_CS_Pin             GPIO_PIN_4
#define FRAM_CS_GPIO_Port       GPIOA

#define OUTER_FLASH_CS_Pin         GPIO_PIN_4
#define OUTER_FRAM_CS_GPIO_Port    GPIOC

#define BEEP_Pin                GPIO_PIN_7
#define BEEP_GPIO_Port          GPIOB

void gpioInit(void);

#endif
